\section{Thread\-Synch Class List}
Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList}
\item\contentsline{section}{{\bf Thread\-Synch::APCPickup\-Policy} }{\pageref{class_thread_synch_1_1_a_p_c_pickup_policy}}{}
\item\contentsline{section}{{\bf Thread\-Synch::Call\-Handler} (A class which stores information about a cross thread call. This class will keep a functor with bound parameters prior to a synchronized call, and provide a return value and exception information upon completion )}{\pageref{class_thread_synch_1_1_call_handler}}{}
\item\contentsline{section}{{\bf Thread\-Synch::Call\-Scheduler$<$ Pickup\-Policy $>$} (A singleton class which enables a user to schedule calls across threads The Pickup\-Policy template parameter will decide how notifications are transported between the threads )}{\pageref{class_thread_synch_1_1_call_scheduler}}{}
\item\contentsline{section}{{\bf Thread\-Synch::Call\-Scheduling\-Failed\-Exception} (Thrown when some undefined factor stops the scheduled call from running. \begin{Desc}
\item[Remarks:]Todo: Improve on the base exception class, to provide better message passing options \end{Desc}
)}{\pageref{class_thread_synch_1_1_call_scheduling_failed_exception}}{}
\item\contentsline{section}{{\bf Thread\-Synch::Call\-Timeout\-Exception} (Thrown when a scheduled call times out )}{\pageref{class_thread_synch_1_1_call_timeout_exception}}{}
\item\contentsline{section}{{\bf Demo\-Exception} }{\pageref{class_demo_exception}}{}
\item\contentsline{section}{{\bf Exception\-Expecter} (A helper class which can call call a functor and catch a set of expected exceptions. \begin{Desc}
\item[Remarks:]If the class catches one of the expected exceptions, this exception can be rethrown, possibly in context of another thread. The rethrower also accepts a functor, which will be called once the rethrown exception object is destroyed \end{Desc}
)}{\pageref{class_exception_expecter}}{}
\item\contentsline{section}{{\bf Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$} }{\pageref{class_exception_expecter_3_01_e_00_01_b_o_o_s_t___p_p___i_t_e_r_a_t_i_o_n()_4}}{}
\item\contentsline{section}{{\bf Thread\-Synch::Functor\-Retval\-Binder$<$ T $>$} (A helper functor and return value class. A helper class which stores the call functor, and attempts to grab the return value after a successful call. \doxyref{Call\-Handler}{p.}{class_thread_synch_1_1_call_handler} cannot be templated without major pain in the rest of the code, so this templated type does the work )}{\pageref{class_thread_synch_1_1_functor_retval_binder}}{}
\item\contentsline{section}{{\bf Thread\-Synch::Future$<$ T $>$} }{\pageref{class_thread_synch_1_1_future}}{}
\item\contentsline{section}{{\bf Thread\-Synch::Future$<$ void $>$} }{\pageref{class_thread_synch_1_1_future_3_01void_01_4}}{}
\item\contentsline{section}{{\bf Thread\-Synch::Future\_\-Impl$<$ T $>$} }{\pageref{class_thread_synch_1_1_future___impl}}{}
\item\contentsline{section}{{\bf Thread\-Synch::Future\_\-Impl$<$ T \& $>$} }{\pageref{class_thread_synch_1_1_future___impl_3_01_t_01_6_01_4}}{}
\item\contentsline{section}{{\bf Thread\-Synch::Future\_\-Impl$<$ T $\ast$ $>$} }{\pageref{class_thread_synch_1_1_future___impl_3_01_t_01_5_01_4}}{}
\item\contentsline{section}{{\bf Thread\-Synch::Future\_\-Impl$<$ void $>$} }{\pageref{class_thread_synch_1_1_future___impl_3_01void_01_4}}{}
\item\contentsline{section}{{\bf Thread\-Synch::Future\-Value\-Pending} (Thrown when \doxyref{Future::get\-Value}{p.}{class_thread_synch_1_1_future_85d7656bec9ed41c8f9d73c065957958} is called on a \doxyref{Future}{p.}{class_thread_synch_1_1_future} object which has not yet been computed. \begin{Desc}
\item[Remarks:]Todo: Improve on the base exception class, to provide better message passing options \end{Desc}
)}{\pageref{class_thread_synch_1_1_future_value_pending}}{}
\item\contentsline{section}{{\bf Thread\-Synch::Pickup\-Policy\-Provider} }{\pageref{class_thread_synch_1_1_pickup_policy_provider}}{}
\item\contentsline{section}{{\bf Thread\-Synch::Pickup\-Scheduling\-Failed\-Exception} (Thrown when a pickup policy fails )}{\pageref{class_thread_synch_1_1_pickup_scheduling_failed_exception}}{}
\item\contentsline{section}{{\bf Picup\-Policy\-Provider} (Interface of all pickup policies )}{\pageref{class_picup_policy_provider}}{}
\item\contentsline{section}{{\bf Shared\-Class} }{\pageref{class_shared_class}}{}
\item\contentsline{section}{{\bf Test\-Derived\-Exception} }{\pageref{struct_test_derived_exception}}{}
\item\contentsline{section}{{\bf Test\-Exception} }{\pageref{struct_test_exception}}{}
\item\contentsline{section}{{\bf Thread\-Base} }{\pageref{class_thread_base}}{}
\item\contentsline{section}{{\bf Thread\-Synch\-Test\-Suite} }{\pageref{struct_thread_synch_test_suite}}{}
\item\contentsline{section}{{\bf Thread\-Synch::Unexpected\-Exception} (Thrown when a scheduled call throws an exception which wasn't expected by the user )}{\pageref{class_thread_synch_1_1_unexpected_exception}}{}
\item\contentsline{section}{{\bf Thread\-Synch::WMPickup\-Policy$<$ Window\-Message\-Id $>$} }{\pageref{class_thread_synch_1_1_w_m_pickup_policy}}{}
\end{CompactList}
